Introdução
No mundo real as grandezas físicas raramente são de natureza elétrica. O primeiro passo para trazer esse mundo para o seu processador é o de transformar essas grandezas em sinais elétricos. Os equipamentos responsáveis por essa transformação são conhecidos por sensores ou transdutores. Esses transdutores estão em quase tudo ao nosso redor. São sensores de pressão, vazão, luz, temperatura, PH, etc. Todos esses transdutores transformam as grandezas físicas em sinais elétricos. Os sinais elétricos podem ser lineares e proporcionais à amplitude das grandezas medidas, ou então não lineares mas com curvas conhecidas, que podem ser compensadas de alguma maneira a posteriori.
Uma vez transformadas em sinais elétricos, a precisão das grandezas convertidas pelos transdutores fica limitada às características ou especificações desses transdutores. Sua natureza ainda é analógica e contínua no tempo. Para trazer essas grandezas para dentro do seu processador, será necessário realizar mais uma transformação do sinal analógico para digital, de forma que esse possa ser tratado e processado digitalmente. Essa transformação é realizada por um componente conhecido como Conversor A/D (Analógico/Digital).
Conversor A/D
Um conversor A/D transforma um sinal analógico, contínuo no tempo, num sinal amostrado, discreto no tempo, quantizado dentro de um número finito de valores inteiros, determinado pela resolução característica do conversor em bits (8, 10, 12, 16 etc). Por exemplo, num conversor de 8 bits, o sinal de entrada é transformado em amostras com os valores entre 0 e 255.
O sinal a ser convertido por um conversor A/D dificilmente se acomoda diretamente à faixa de tensão de entrada do conversor. Ele precisa ser transformado adequadamente para isso. Em geral a tensão de entrada de um conversor A/D é definida como a tensão de alimentação do conversor (+ 5 ou 3,3 V, por exemplo). Para realizar essa adaptação muitas vezes é necessário realizar um condicionamento do sinal, tipicamente com auxílio de circuitos analógicos passivos ou ativos.
Após o condicionamento do sinal existe um elemento na entrada do conversor A/D que realiza uma amostragem periódica do sinal analógico e o mantém estável até que o conversor propriamente dito possa convertê-lo para um código digital. Trata-se de um circuito de Sample & Hold. Um circuito ilustrativo de um S/H (Sample and Hold) pode ser visto na Figura 1. A ilustração do efeito dessa amostragem pode ser vista na Figura 2.
Há diversas técnicas para a conversão A/D: conversão paralela, por contagem, de rampa simples, rampa dupla, sigma-delta etc. Recomendo a leitura do artigo “Como funcionam os Conversores A/D” de Newton C. Braga, dividido em duas partes, para aprofundar os seus conhecimentos sobre conversores A/D.
Quando for especificado um conversor A/D, é necessário verificar se o conversor atende às necessidades do seu projeto. É necessário verificar as seguintes especificações:
- Conversor interno ao processador ou externo?;
- Taxa de amostragem;
- Número de bits de resolução;
- Número de bits de precisão, ou bits efetivos;
- Relação sinal/ruído;
- Linearidade;
- Necessidade de se utilizar Sample & Hold externo;
- Necessidade de se utilizar um filtro analógico de anti-aliasing;
- Preço;
- etc.
No próximo tópico será abordado especificamente o tema da quantização e os efeitos decorrentes disso.
Quantização
Em processamento digital de sinais, chama-se de quantização de amostras a transformação das amostras de um sinal analógico numa representação dessas amostras em números inteiros. É o que ocorre nos conversores A/D. Por exemplo, um sinal real é transformado em números inteiros entre 0 (zero) e a potência de 2 correspondente ao número de bits do conversor (Por exemplo 4095, no caso de 12 bits). Esse efeito será ilustrado mais adiante.
Para gerar as figuras a seguir, foi utilizado o programa de matemática OCTAVE versão 4.0. As sequências de comando (scripts) também serão apresentadas para que o leitor possa reproduzir o que será apresentado ou simular outras situações.
Para a melhor compreensão do que será apresentado a seguir recomendo a leitura do artigo técnico Processamento Digital de Sinais – DSP – Parte 2.
Suponhamos uma senoide ideal, amostrada 16 vezes a cada ciclo (Figura 3).
A transformada de Fourier dessa senoide pode ser observada na Figura 4. Observação: o OCTAVE utiliza números de ponto flutuante com precisão dupla.
.
Observe que o ruído está abaixo de – 300 dB. É desprezível. O script do OCTAVE para gerar essas figuras encontra-se a seguir:
% Gera e plota uma senoide ideal amostrada
Num_Amostras = 16; % Define o numero de amostras por ciclo
Num_Ciclos = 4; % Define o numero de ciclos
Delta_t = 1/Num_Amostras; % Define o delta t entre as amostras
tempo = 0:Delta_t:Num_Ciclos - Delta_t; % Define os tempos para gerar a senoide
seno1 = 0.5 * (1 + sin(2 * pi * tempo)); % gera a senoide
close all; % Fecha todas as figuras
figure(1); % Abre a figura 1
plot(seno1); % Plota o seno na figura 1
hold; % Retém a figura
grid; % Gera a grade
xlabel('Tempo');
ylabel('Amplitude');
title('Senoide ideal amostrada');
plot(seno1, 'x'); % Marca os pontos amostrados
seno1 = seno1 - 0.5; % Suprime a componente CC
figure(2); % Abre a figura 2
fftseno1 = abs(fft(seno1)); % prepara a FFT
plot(20 * log10(fftseno1/max(fftseno1))); % Plota a FFT normalizad e em dB
grid; % Gera a grade
xlabel('Frequencias');
ylabel('Amplitude normalizada em dB');
title('FFT da senoide ideal amostrada');
%
A seguir serão mostradas as transformadas de Fourier da mesma senoide ideal mostrada na Figura 3 quantizada respectivamente para 8 , 12 e 24 bits.
Observe na Figura 5 como aparecem picos artificiais de ruído no espectro da senoide amostrada decorrentes da quantização.
Por causa da quantização apareceram raias de ruído que “sujam” o sinal original. Quanto maior o número de bits, menor a amplitude do ruído. Por isso deve-se, sempre que possível, condicionar o sinal de entrada para abranger a amplitude máxima do conversor A/D e ter consciência que o processo de conversão e quantização pode inserir ruído indesejado. O ruído indesejado, se necessário, pode ser atenuado por meio de filtros digitais. Alguns conversores já possuem estes filtros digitais internamente para a redução dos ruídos.
O ruído de quantização é apenas uma das fontes de ruídos que são transferidos para os sinais amostrados. Por isso que é sempre importante observar, além dos parâmetros mais comuns, se a relação sinal ruído, tipicamente definida em dB, está de acordo com a precisão desejada. Veja a Tabela 1.
Tabela 1 – Relação mínima de sinal ruído para cada resolução do conversor A/D em bits
A seguir pode-se ver o script utilizado para gerar esses dados.
% Gera a quantizacao da senoide ideal
Numero_de_Bits = 8; % Especifica o numero de bits
% Gera ruido de quantizacao aleatorio
ruido = (rand(length(seno1),1) -0.5) / 2^Numero_de_Bits;
senoq = seno1 + ruido'; % Gera a senoide com ruido de quantizacao
Cte = (2^Numero_de_Bits) - 1; % Calcula a potencia de 2
seno1_quantizado = round(senoq * Cte); % gera o seno quantizado sem a componente CC
figure(3); % Abre a figura 3
fftseno1_quant = abs(fft(seno1_quantizado)); % Prepara a FFT
plot(20 * log10((fftseno1_quant/max(fftseno1_quant))+ 10^-16)); % Plota a FFT
grid; % Gera a grade
xlabel('Frequencias');
ylabel('Amplitude normalizada em dB');
title('FFT da senoide quantizada amostrada');
%
Conclusões
A utilização de conversores A/D é o principal recurso para trazer para dentro do seu processador os sinais analógicos do mundo real. É necessário, porém, ter um bom conhecimento sobre o funcionamento, limitações e aplicações do conversor A/D para que se possa especificá-lo corretamente e garantir que ele atenda às necessidades do seu projeto.
Referências
[1] Como funcionam os Conversores A/D – parte 1 – Newton C. Braga
[2] Como funcionam os conversores A/D – Parte 2 – Newton C. Braga
Figura destacada: Alien Weapon – © Ruslana Stovner | Dreamstime Stock Photos










se possivel me mandar a resolução desses dois casos.
nao consigo resolver.obrigado
1- um determinado PTC apresenta 1kohms a 25ºc e sua tensão será medida por um conversor de 10bits/5v. Projete um circuito para essa medição e calcule o resultado da conversão A/D a 25º.
2- três sinais de frequência maxima de 1kHz , 2kKz e 20KHz são multiplexados em um cabo transmissor . Qual é a menor frequência de amostragem que o receptor deve ter?
Parabéns pelo seu artigo.
O número de níveis em que um sinal analógico pode ser dividido é uma função do número de bits da palavra. Para um conversor de 4 bits e região de operação de 0 a 6 V, qual é a sensibilidade desse conversor? Monte uma tabela de mostrando em duas colunas a entrada em volts e o seu código binário correspondente depois de convertido. Considere que não havendo sinal, todos os bits na palavra são 0.
Caro Antonio!
Nesse caso a resolução é de 1/16. Quanto à sensibilidade, depende do componente. É necessário consultar o manual para se ter essa resposta.
Puhlmann, artigo muito bom! Parabéns!
Interessante o artigo, problema do aliasing deve ser bem estudado, principalmente para alta fidelidade da informação, isso é removendo todo conteúdo excedente a largura de faixa, não tendo o problema de dobra.Geralmente nos projetos isso é ignorado.